﻿using System;
using System.Collections.Generic;
using System.Diagnostics.Contracts;
using System.Xml;
using XmlStudio.DataLayer;

namespace XmlStudio.Interfaces {
    //[ContractClassFor(typeof(IBigXmlDocument))]
    //internal class BigXmlDocumentContract : IBigXmlDocument {

    //    #region IBigXmlDocument Members

    //    BigXmlNode IBigXmlDocument.Root {
    //        get {
    //            return default(BigXmlNode);
    //        }
    //        set {
    //            return;
    //        }
    //    }

    //    IBigXmlReader IBigXmlDocument.Reader {
    //        get { return default(IBigXmlReader); }
    //    }

    //    IEnumerable<BigXmlNodeInternal> IBigXmlDocument.GetChildNodes(BigXmlNodeInternal parent, string range) {
    //        Contract.Requires<ArgumentNullException>(parent != null, "parent");

    //        return default(IEnumerable<BigXmlNodeInternal>);
    //    }

    //    IEnumerable<BigXmlNodeInternal> IBigXmlDocument.GetChildNodes(BigXmlNodeInternal parent, IEnumerable<int> range) {
    //        Contract.Requires<ArgumentNullException>(parent != null, "parent");

    //        return default(IEnumerable<BigXmlNodeInternal>);
    //    }

    //    IEnumerable<BigXmlNodeInternal> IBigXmlDocument.GetChildNodes(int[] address, string range) {
    //        Contract.Requires<ArgumentException>(Contract.ForAll(address, i => i >= 0), "address");

    //        return default(IEnumerable<BigXmlNodeInternal>);
    //    }

    //    XmlDocumentType IBigXmlDocument.GetDocumentType() {
    //        return default(XmlDocumentType);
    //    }

    //    void IBigXmlDocument.WriteXmlDocumentType(XmlDocumentType documentType, XmlWriter writer) {
    //        Contract.Requires<ArgumentNullException>(writer != null, "writer");

    //        return;
    //    }

    //    #endregion
    //}
}